package com.hongmeng.operater.service.newsAndVideo;

import java.util.List;

import com.hongmeng.common.core.domain.AjaxResult;
import com.hongmeng.operater.domain.newsAndVideo.HmVideo;
import com.hongmeng.operater.domain.newsAndVideo.entity.QueryVideoInfoEntity;
import com.hongmeng.operater.domain.newsAndVideo.entity.SaveVideoInfoEntity;
import com.hongmeng.operater.domain.newsAndVideo.entity.VideoDetailListEntity;

/**
 * 视频信息Service接口
 * 
 * @author hongmeng
 * @date 2020-12-28
 */
public interface IHmVideoService 
{
    /**
     * 查询视频信息
     * 
     * @param id 视频信息ID
     * @return 视频信息
     */
    public HmVideo selectHmVideoById(Integer id);

    /**
     * 查询视频信息详情
     * @param id 视频信息ID
     * @return 视频信息详情
     */
    public AjaxResult selectHmVideoDetailedById(Integer id);


    /**
     * 查询视频信息列表
     * 
     * @param hmVideo 视频信息
     * @return 视频信息集合
     */
    public List<HmVideo> selectHmVideoList(QueryVideoInfoEntity hmVideo);

    /**
     * 官网查询视频详细信息列表
     * @param hmVideo 视频信息
     * @return 视频信息集合
     */
    public List<VideoDetailListEntity> selectVideoDetailList(QueryVideoInfoEntity hmVideo);


    /**
     * 新增视频信息
     * 
     * @param hmVideo 视频信息
     * @return 结果
     */
    public AjaxResult insertHmVideo(SaveVideoInfoEntity hmVideo);

    /**
     * 修改视频信息
     * 
     * @param hmVideo 视频信息
     * @return 结果
     */
    public AjaxResult updateHmVideo(SaveVideoInfoEntity hmVideo);

    /**
     * 批量删除视频信息
     * 
     * @param ids 需要删除的视频信息ID
     * @return 结果
     */
    public int deleteHmVideoByIds(Integer[] ids);

    /**
     * 删除视频信息信息
     * 
     * @param id 视频信息ID
     * @return 结果
     */
    public int deleteHmVideoById(Integer id);

    /**
     * 新建视频文件
     * @param videoId 视频id(凭证)
     * @param sourceUrl 视频源地址
     * @return 结果
     */
    public AjaxResult saveVideoFiles(String videoId,String sourceUrl);

    /**
     * 审核视频信息
     * @param id 视频id
     * @param yesOrNo 审核是否通过(true/false)
     * @param newsRemarks 审核备注(通过与不通过的理由)
     * @return 结果
     */
    public AjaxResult examine(Integer id, boolean yesOrNo, String newsRemarks);
}
